package part03_工厂模式.p01_传统方式;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**传统模式
 * 应用场景：购买披萨的项目，要便于披萨种类的扩展，便于维护
 * 1-披萨的种类有很多，比如GreekPizza，CheesePizza
 * 2-披萨的制作步骤有prepare、bake、cut、box
 * 3-完成披萨店订购功能
 * @ClassName: OrderPizza
 * @Author: AllenSun
 * @Date: 2019/12/5 19:41
 */
public class OrderPizza {
    //构造器
    public OrderPizza(){
        Pizza pizza=null;
        String orderType;//订购披萨的类型
        do {
            orderType=getType();
            if(orderType.equals("greek")){
                pizza=new GreekPizza();
                pizza.setName("希腊");
            } else if(orderType.equals("cheese")){
                pizza=new CheesePizza();
                pizza.setName("起司");
            } else {
                break;
            }

            pizza.prepare();
            pizza.bake();
            pizza.cut();
            pizza.box();
            System.out.println("您点的"+pizza.name+"披萨已经做好了，请慢用");

        } while (true);
    }

    //写一个方法，可以获取客户希望订购的披萨种类
    private String getType(){
        try {
            BufferedReader strin = new BufferedReader(new InputStreamReader(System.in));
            System.out.println("请输入披萨的种类：");
            String str=strin.readLine();
            return str;
        } catch (IOException e) {
            e.printStackTrace();
            return "";
        }
    }
}



